home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / lisp.vim < prev    next >
Encoding:
Text File  |  2001-09-20  |  24.4 KB  |  481 lines

  1. " Vim syntax file
  2. " Language:    Lisp
  3. " Maintainer:  Dr. Charles E. Campbell, Jr. <Charles.E.Campbell.1@gsfc.nasa.gov>
  4. " Last Change: September 17, 2001
  5. " Version:     1.09
  6. "  Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
  7. "  taken from the HyperSpec
  8.  
  9. " For version 5.x: Clear all syntax items
  10. " For version 6.x: Quit when a syntax file was already loaded
  11. if version < 600
  12.   syntax clear
  13. elseif exists("b:current_syntax")
  14.   finish
  15. endif
  16.  
  17. if version >= 600
  18.  setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
  19. else
  20.  set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
  21. endif
  22.  
  23. " Clusters
  24. syn cluster    lispAtomCluster    contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispString,lispDecl,lispFunc,lispLeadWhite
  25. syn cluster    lispListCluster    contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispString,lispSymbol,lispVar,lispLeadWhite
  26.  
  27. " Lists
  28. syn match    lispSymbol    contained    ![^()'`,"; \t]\+!
  29. syn match    lispBarSymbol    contained    !|..\{-}|!
  30. syn region    lispList    matchgroup=Delimiter start="(" skip="|.\{-}|"    matchgroup=Delimiter end=")" contains=@lispListCluster
  31. syn region    lispBQList    matchgroup=PreProc   start="`("    skip="|.\{-}|"    matchgroup=PreProc   end=")" contains=@lispListCluster
  32.  
  33. " Atoms
  34. syn match    lispAtomMark    "'"
  35. syn match    lispAtom    "'("me=e-1    contains=lispAtomMark    nextgroup=lispAtomList
  36. syn match    lispAtom    "'[^ \t()]\+"    contains=lispAtomMark
  37. syn match    lispAtomBarSymbol    !'|..\{-}|!    contains=lispAtomMark
  38. syn region    lispAtom    start=+'"+    skip=+\\"+ end=+"+
  39. syn region    lispAtomList    contained    matchgroup=Special start="("    skip="|.\{-}|" matchgroup=Special end=")"    contains=@lispAtomCluster
  40. syn match    lispAtomNmbr    contained    "\<\d\+"
  41. syn match    lispLeadWhite    contained    "^\s\+"
  42.  
  43. " Standard Lisp Functions and Macros
  44. syn keyword lispFunc    *    find-method    pprint-indent
  45. syn keyword lispFunc    **    find-package    pprint-linear
  46. syn keyword lispFunc    ***    find-restart    pprint-logical-block
  47. syn keyword lispFunc    +    find-symbol    pprint-newline
  48. syn keyword lispFunc    ++    finish-output    pprint-pop
  49. syn keyword lispFunc    +++    first    pprint-tab
  50. syn keyword lispFunc    -    fixnum    pprint-tabular
  51. syn keyword lispFunc    /    flet    prin1
  52. syn keyword lispFunc    //    float    prin1-to-string
  53. syn keyword lispFunc    ///    float-digits    princ
  54. syn keyword lispFunc    /=    float-precision    princ-to-string
  55. syn keyword lispFunc    1+    float-radix    print
  56. syn keyword lispFunc    1-    float-sign    print-not-readable
  57. syn keyword lispFunc    <    floating-point-inexact    print-not-readable-object
  58. syn keyword lispFunc    <=    floating-point-invalid-operation    print-object
  59. syn keyword lispFunc    =    floating-point-overflow    print-unreadable-object
  60. syn keyword lispFunc    >    floating-point-underflow    probe-file
  61. syn keyword lispFunc    >=    floatp    proclaim
  62. syn keyword lispFunc    abort    floor    prog
  63. syn keyword lispFunc    abs    fmakunbound    prog*
  64. syn keyword lispFunc    access    force-output    prog1
  65. syn keyword lispFunc    acons    format    prog2
  66. syn keyword lispFunc    acos    formatter    progn
  67. syn keyword lispFunc    acosh    fourth    program-error
  68. syn keyword lispFunc    add-method    fresh-line    progv
  69. syn keyword lispFunc    adjoin    fround    provide
  70. syn keyword lispFunc    adjust-array    ftruncate    psetf
  71. syn keyword lispFunc    adjustable-array-p    ftype    psetq
  72. syn keyword lispFunc    allocate-instance    funcall    push
  73. syn keyword lispFunc    alpha-char-p    function    pushnew
  74. syn keyword lispFunc    alphanumericp    function-keywords    putprop
  75. syn keyword lispFunc    and    function-lambda-expression    quote
  76. syn keyword lispFunc    append    functionp    random
  77. syn keyword lispFunc    apply    gbitp    random-state
  78. syn keyword lispFunc    applyhook    gcd    random-state-p
  79. syn keyword lispFunc    apropos    generic-function    rassoc
  80. syn keyword lispFunc    apropos-list    gensym    rassoc-if
  81. syn keyword lispFunc    aref    gentemp    rassoc-if-not
  82. syn keyword lispFunc    arithmetic-error    get    ratio
  83. syn keyword lispFunc    arithmetic-error-operands    get-decoded-time    rational
  84. syn keyword lispFunc    arithmetic-error-operation    get-dispatch-macro-character    rationalize
  85. syn keyword lispFunc    array    get-internal-real-time    rationalp
  86. syn keyword lispFunc    array-dimension    get-internal-run-time    read
  87. syn keyword lispFunc    array-dimension-limit    get-macro-character    read-byte
  88. syn keyword lispFunc    array-dimensions    get-output-stream-string    read-char
  89. syn keyword lispFunc    array-displacement    get-properties    read-char-no-hang
  90. syn keyword lispFunc    array-element-type    get-setf-expansion    read-delimited-list
  91. syn keyword lispFunc    array-has-fill-pointer-p    get-setf-method    read-eval-print
  92. syn keyword lispFunc    array-in-bounds-p    get-universal-time    read-from-string
  93. syn keyword lispFunc    array-rank    getf    read-line
  94. syn keyword lispFunc    array-rank-limit    gethash    read-preserving-whitespace
  95. syn keyword lispFunc    array-row-major-index    go    read-sequence
  96. syn keyword lispFunc    array-total-size    graphic-char-p    reader-error
  97. syn keyword lispFunc    array-total-size-limit    handler-bind    readtable
  98. syn keyword lispFunc    arrayp    handler-case    readtable-case
  99. syn keyword lispFunc    ash    hash-table    readtablep
  100. syn keyword lispFunc    asin    hash-table-count    real
  101. syn keyword lispFunc    asinh    hash-table-p    realp
  102. syn keyword lispFunc    assert    hash-table-rehash-size    realpart
  103. syn keyword lispFunc    assoc    hash-table-rehash-threshold    reduce
  104. syn keyword lispFunc    assoc-if    hash-table-size    reinitialize-instance
  105. syn keyword lispFunc    assoc-if-not    hash-table-test    rem
  106. syn keyword lispFunc    atan    host-namestring    remf
  107. syn keyword lispFunc    atanh    identity    remhash
  108. syn keyword lispFunc    atom    if    remove
  109. syn keyword lispFunc    base-char    if-exists    remove-duplicates
  110. syn keyword lispFunc    base-string    ignorable    remove-if
  111. syn keyword lispFunc    bignum    ignore    remove-if-not
  112. syn keyword lispFunc    bit    ignore-errors    remove-method
  113. syn keyword lispFunc    bit-and    imagpart    remprop
  114. syn keyword lispFunc    bit-andc1    import    rename-file
  115. syn keyword lispFunc    bit-andc2    in-package    rename-package
  116. syn keyword lispFunc    bit-eqv    in-package    replace
  117. syn keyword lispFunc    bit-ior    incf    require
  118. syn keyword lispFunc    bit-nand    initialize-instance    rest
  119. syn keyword lispFunc    bit-nor    inline    restart
  120. syn keyword lispFunc    bit-not    input-stream-p    restart-bind
  121. syn keyword lispFunc    bit-orc1    inspect    restart-case
  122. syn keyword lispFunc    bit-orc2    int-char    restart-name
  123. syn keyword lispFunc    bit-vector    integer    return
  124. syn keyword lispFunc    bit-vector-p    integer-decode-float    return-from
  125. syn keyword lispFunc    bit-xor    integer-length    revappend
  126. syn keyword lispFunc    block    integerp    reverse
  127. syn keyword lispFunc    boole    interactive-stream-p    room
  128. syn keyword lispFunc    boole-1    intern    rotatef
  129. syn keyword lispFunc    boole-2    internal-time-units-per-second    round
  130. syn keyword lispFunc    boole-and    intersection    row-major-aref
  131. syn keyword lispFunc    boole-andc1    invalid-method-error    rplaca
  132. syn keyword lispFunc    boole-andc2    invoke-debugger    rplacd
  133. syn keyword lispFunc    boole-c1    invoke-restart    safety
  134. syn keyword lispFunc    boole-c2    invoke-restart-interactively    satisfies
  135. syn keyword lispFunc    boole-clr    isqrt    sbit
  136. syn keyword lispFunc    boole-eqv    keyword    scale-float
  137. syn keyword lispFunc    boole-ior    keywordp    schar
  138. syn keyword lispFunc    boole-nand    labels    search
  139. syn keyword lispFunc    boole-nor    lambda    second
  140. syn keyword lispFunc    boole-orc1    lambda-list-keywords    sequence
  141. syn keyword lispFunc    boole-orc2    lambda-parameters-limit    serious-condition
  142. syn keyword lispFunc    boole-set    last    set
  143. syn keyword lispFunc    boole-xor    lcm    set-char-bit
  144. syn keyword lispFunc    boolean    ldb    set-difference
  145. syn keyword lispFunc    both-case-p    ldb-test    set-dispatch-macro-character
  146. syn keyword lispFunc    boundp    ldiff    set-exclusive-or
  147. syn keyword lispFunc    break    least-negative-double-float    set-macro-character
  148. syn keyword lispFunc    broadcast-stream    least-negative-long-float    set-pprint-dispatch
  149. syn keyword lispFunc    broadcast-stream-streams    least-negative-normalized-double-float    set-syntax-from-char
  150. syn keyword lispFunc    built-in-class    least-negative-normalized-long-float    setf
  151. syn keyword lispFunc    butlast    least-negative-normalized-short-float    setq
  152. syn keyword lispFunc    byte    least-negative-normalized-single-float    seventh
  153. syn keyword lispFunc    byte-position    least-negative-short-float    shadow
  154. syn keyword lispFunc    byte-size    least-negative-single-float    shadowing-import
  155. syn keyword lispFunc    call-arguments-limit    least-positive-double-float    shared-initialize
  156. syn keyword lispFunc    call-method    least-positive-long-float    shiftf
  157. syn keyword lispFunc    call-next-method    least-positive-normalized-double-float    short-float
  158. syn keyword lispFunc    capitalize    least-positive-normalized-long-float    short-float-epsilon
  159. syn keyword lispFunc    car    least-positive-normalized-short-float    short-float-negative-epsilon
  160. syn keyword lispFunc    case    least-positive-normalized-single-float    short-site-name
  161. syn keyword lispFunc    catch    least-positive-short-float    signal
  162. syn keyword lispFunc    ccase    least-positive-single-float    signed-byte
  163. syn keyword lispFunc    cdr    length    signum
  164. syn keyword lispFunc    ceiling    let    simle-condition
  165. syn keyword lispFunc    cell-error    let*    simple-array
  166. syn keyword lispFunc    cell-error-name    lisp    simple-base-string
  167. syn keyword lispFunc    cerror    lisp-implementation-type    simple-bit-vector
  168. syn keyword lispFunc    change-class    lisp-implementation-version    simple-bit-vector-p
  169. syn keyword lispFunc    char    list    simple-condition-format-arguments
  170. syn keyword lispFunc    char-bit    list*    simple-condition-format-control
  171. syn keyword lispFunc    char-bits    list-all-packages    simple-error
  172. syn keyword lispFunc    char-bits-limit    list-length    simple-string
  173. syn keyword lispFunc    char-code    listen    simple-string-p
  174. syn keyword lispFunc    char-code-limit    listp    simple-type-error
  175. syn keyword lispFunc    char-control-bit    load    simple-vector
  176. syn keyword lispFunc    char-downcase    load-logical-pathname-translations    simple-vector-p
  177. syn keyword lispFunc    char-equal    load-time-value    simple-warning
  178. syn keyword lispFunc    char-font    locally    sin
  179. syn keyword lispFunc    char-font-limit    log    single-flaot-epsilon
  180. syn keyword lispFunc    char-greaterp    logand    single-float
  181. syn keyword lispFunc    char-hyper-bit    logandc1    single-float-epsilon
  182. syn keyword lispFunc    char-int    logandc2    single-float-negative-epsilon
  183. syn keyword lispFunc    char-lessp    logbitp    sinh
  184. syn keyword lispFunc    char-meta-bit    logcount    sixth
  185. syn keyword lispFunc    char-name    logeqv    sleep
  186. syn keyword lispFunc    char-not-equal    logical-pathname    slot-boundp
  187. syn keyword lispFunc    char-not-greaterp    logical-pathname-translations    slot-exists-p
  188. syn keyword lispFunc    char-not-lessp    logior    slot-makunbound
  189. syn keyword lispFunc    char-super-bit    lognand    slot-missing
  190. syn keyword lispFunc    char-upcase    lognor    slot-unbound
  191. syn keyword lispFunc    char/=    lognot    slot-value
  192. syn keyword lispFunc    char<    logorc1    software-type
  193. syn keyword lispFunc    char<=    logorc2    software-version
  194. syn keyword lispFunc    char=    logtest    some
  195. syn keyword lispFunc    char>    logxor    sort
  196. syn keyword lispFunc    char>=    long-float    space
  197. syn keyword lispFunc    character    long-float-epsilon    special
  198. syn keyword lispFunc    characterp    long-float-negative-epsilon    special-form-p
  199. syn keyword lispFunc    check-type    long-site-name    special-operator-p
  200. syn keyword lispFunc    cis    loop    speed
  201. syn keyword lispFunc    class    loop-finish    sqrt
  202. syn keyword lispFunc    class-name    lower-case-p    stable-sort
  203. syn keyword lispFunc    class-of    machine-instance    standard
  204. syn keyword lispFunc    clear-input    machine-type    standard-char
  205. syn keyword lispFunc    clear-output    machine-version    standard-char-p
  206. syn keyword lispFunc    close    macro-function    standard-class
  207. syn keyword lispFunc    clrhash    macroexpand    standard-generic-function
  208. syn keyword lispFunc    code-char    macroexpand-1    standard-method
  209. syn keyword lispFunc    coerce    macroexpand-l    standard-object
  210. syn keyword lispFunc    commonp    macrolet    step
  211. syn keyword lispFunc    compilation-speed    make-array    storage-condition
  212. syn keyword lispFunc    compile    make-array    store-value
  213. syn keyword lispFunc    compile-file    make-broadcast-stream    stream
  214. syn keyword lispFunc    compile-file-pathname    make-char    stream-element-type
  215. syn keyword lispFunc    compiled-function    make-concatenated-stream    stream-error
  216. syn keyword lispFunc    compiled-function-p    make-condition    stream-error-stream
  217. syn keyword lispFunc    compiler-let    make-dispatch-macro-character    stream-external-format
  218. syn keyword lispFunc    compiler-macro    make-echo-stream    streamp
  219. syn keyword lispFunc    compiler-macro-function    make-hash-table    streamup
  220. syn keyword lispFunc    complement    make-instance    string
  221. syn keyword lispFunc    complex    make-instances-obsolete    string-capitalize
  222. syn keyword lispFunc    complexp    make-list    string-char
  223. syn keyword lispFunc    compute-applicable-methods    make-load-form    string-char-p
  224. syn keyword lispFunc    compute-restarts    make-load-form-saving-slots    string-downcase
  225. syn keyword lispFunc    concatenate    make-method    string-equal
  226. syn keyword lispFunc    concatenated-stream    make-package    string-greaterp
  227. syn keyword lispFunc    concatenated-stream-streams    make-pathname    string-left-trim
  228. syn keyword lispFunc    cond    make-random-state    string-lessp
  229. syn keyword lispFunc    condition    make-sequence    string-not-equal
  230. syn keyword lispFunc    conjugate    make-string    string-not-greaterp
  231. syn keyword lispFunc    cons    make-string-input-stream    string-not-lessp
  232. syn keyword lispFunc    consp    make-string-output-stream    string-right-strim
  233. syn keyword lispFunc    constantly    make-symbol    string-right-trim
  234. syn keyword lispFunc    constantp    make-synonym-stream    string-stream
  235. syn keyword lispFunc    continue    make-two-way-stream    string-trim
  236. syn keyword lispFunc    control-error    makunbound    string-upcase
  237. syn keyword lispFunc    copy-alist    map    string/=
  238. syn keyword lispFunc    copy-list    map-into    string<
  239. syn keyword lispFunc    copy-pprint-dispatch    mapc    string<=
  240. syn keyword lispFunc    copy-readtable    mapcan    string=
  241. syn keyword lispFunc    copy-seq    mapcar    string>
  242. syn keyword lispFunc    copy-structure    mapcon    string>=
  243. syn keyword lispFunc    copy-symbol    maphash    stringp
  244. syn keyword lispFunc    copy-tree    mapl    structure
  245. syn keyword lispFunc    cos    maplist    structure-class
  246. syn keyword lispFunc    cosh    mask-field    structure-object
  247. syn keyword lispFunc    count    max    style-warning
  248. syn keyword lispFunc    count-if    member    sublim
  249. syn keyword lispFunc    count-if-not    member-if    sublis
  250. syn keyword lispFunc    ctypecase    member-if-not    subseq
  251. syn keyword lispFunc    debug    merge    subsetp
  252. syn keyword lispFunc    decf    merge-pathname    subst
  253. syn keyword lispFunc    declaim    merge-pathnames    subst-if
  254. syn keyword lispFunc    declaration    method    subst-if-not
  255. syn keyword lispFunc    declare    method-combination    substitute
  256. syn keyword lispFunc    decode-float    method-combination-error    substitute-if
  257. syn keyword lispFunc    decode-universal-time    method-qualifiers    substitute-if-not
  258. syn keyword lispFunc    defclass    min    subtypep
  259. syn keyword lispFunc    defconstant    minusp    svref
  260. syn keyword lispFunc    defgeneric    mismatch    sxhash
  261. syn keyword lispFunc    define-compiler-macro    mod    symbol
  262. syn keyword lispFunc    define-condition    most-negative-double-float    symbol-function
  263. syn keyword lispFunc    define-method-combination    most-negative-fixnum    symbol-macrolet
  264. syn keyword lispFunc    define-modify-macro    most-negative-long-float    symbol-name
  265. syn keyword lispFunc    define-setf-expander    most-negative-short-float    symbol-package
  266. syn keyword lispFunc    define-setf-method    most-negative-single-float    symbol-plist
  267. syn keyword lispFunc    define-symbol-macro    most-positive-double-float    symbol-value
  268. syn keyword lispFunc    defmacro    most-positive-fixnum    symbolp
  269. syn keyword lispFunc    defmethod    most-positive-long-float    synonym-stream
  270. syn keyword lispFunc    defpackage    most-positive-short-float    synonym-stream-symbol
  271. syn keyword lispFunc    defparameter    most-positive-single-float    sys
  272. syn keyword lispFunc    defsetf    muffle-warning    system
  273. syn keyword lispFunc    defstruct    multiple-value-bind    t
  274. syn keyword lispFunc    deftype    multiple-value-call    tagbody
  275. syn keyword lispFunc    defun    multiple-value-list    tailp
  276. syn keyword lispFunc    defvar    multiple-value-prog1    tan
  277. syn keyword lispFunc    delete    multiple-value-seteq    tanh
  278. syn keyword lispFunc    delete-duplicates    multiple-value-setq    tenth
  279. syn keyword lispFunc    delete-file    multiple-values-limit    terpri
  280. syn keyword lispFunc    delete-if    name-char    the
  281. syn keyword lispFunc    delete-if-not    namestring    third
  282. syn keyword lispFunc    delete-package    nbutlast    throw
  283. syn keyword lispFunc    denominator    nconc    time
  284. syn keyword lispFunc    deposit-field    next-method-p    trace
  285. syn keyword lispFunc    describe    nil    translate-logical-pathname
  286. syn keyword lispFunc    describe-object    nintersection    translate-pathname
  287. syn keyword lispFunc    destructuring-bind    ninth    tree-equal
  288. syn keyword lispFunc    digit-char    no-applicable-method    truename
  289. syn keyword lispFunc    digit-char-p    no-next-method    truncase
  290. syn keyword lispFunc    directory    not    truncate
  291. syn keyword lispFunc    directory-namestring    notany    two-way-stream
  292. syn keyword lispFunc    disassemble    notevery    two-way-stream-input-stream
  293. syn keyword lispFunc    division-by-zero    notinline    two-way-stream-output-stream
  294. syn keyword lispFunc    do    nreconc    type
  295. syn keyword lispFunc    do*    nreverse    type-error
  296. syn keyword lispFunc    do-all-symbols    nset-difference    type-error-datum
  297. syn keyword lispFunc    do-exeternal-symbols    nset-exclusive-or    type-error-expected-type
  298. syn keyword lispFunc    do-external-symbols    nstring    type-of
  299. syn keyword lispFunc    do-symbols    nstring-capitalize    typecase
  300. syn keyword lispFunc    documentation    nstring-downcase    typep
  301. syn keyword lispFunc    dolist    nstring-upcase    unbound-slot
  302. syn keyword lispFunc    dotimes    nsublis    unbound-slot-instance
  303. syn keyword lispFunc    double-float    nsubst    unbound-variable
  304. syn keyword lispFunc    double-float-epsilon    nsubst-if    undefined-function
  305. syn keyword lispFunc    double-float-negative-epsilon    nsubst-if-not    unexport
  306. syn keyword lispFunc    dpb    nsubstitute    unintern
  307. syn keyword lispFunc    dribble    nsubstitute-if    union
  308. syn keyword lispFunc    dynamic-extent    nsubstitute-if-not    unless
  309. syn keyword lispFunc    ecase    nth    unread
  310. syn keyword lispFunc    echo-stream    nth-value    unread-char
  311. syn keyword lispFunc    echo-stream-input-stream    nthcdr    unsigned-byte
  312. syn keyword lispFunc    echo-stream-output-stream    null    untrace
  313. syn keyword lispFunc    ed    number    unuse-package
  314. syn keyword lispFunc    eighth    numberp    unwind-protect
  315. syn keyword lispFunc    elt    numerator    update-instance-for-different-class
  316. syn keyword lispFunc    encode-universal-time    nunion    update-instance-for-redefined-class
  317. syn keyword lispFunc    end-of-file    oddp    upgraded-array-element-type
  318. syn keyword lispFunc    endp    open    upgraded-complex-part-type
  319. syn keyword lispFunc    enough-namestring    open-stream-p    upper-case-p
  320. syn keyword lispFunc    ensure-directories-exist    optimize    use-package
  321. syn keyword lispFunc    ensure-generic-function    or    use-value
  322. syn keyword lispFunc    eq    otherwise    user
  323. syn keyword lispFunc    eql    output-stream-p    user-homedir-pathname
  324. syn keyword lispFunc    equal    package    values
  325. syn keyword lispFunc    equalp    package-error    values-list
  326. syn keyword lispFunc    error    package-error-package    vector
  327. syn keyword lispFunc    etypecase    package-name    vector-pop
  328. syn keyword lispFunc    eval    package-nicknames    vector-push
  329. syn keyword lispFunc    eval-when    package-shadowing-symbols    vector-push-extend
  330. syn keyword lispFunc    evalhook    package-use-list    vectorp
  331. syn keyword lispFunc    evenp    package-used-by-list    warn
  332. syn keyword lispFunc    every    packagep    warning
  333. syn keyword lispFunc    exp    pairlis    when
  334. syn keyword lispFunc    export    parse-error    wild-pathname-p
  335. syn keyword lispFunc    expt    parse-integer    with-accessors
  336. syn keyword lispFunc    extended-char    parse-namestring    with-compilation-unit
  337. syn keyword lispFunc    fboundp    pathname    with-condition-restarts
  338. syn keyword lispFunc    fceiling    pathname-device    with-hash-table-iterator
  339. syn keyword lispFunc    fdefinition    pathname-directory    with-input-from-string
  340. syn keyword lispFunc    ffloor    pathname-host    with-open-file
  341. syn keyword lispFunc    fifth    pathname-match-p    with-open-stream
  342. syn keyword lispFunc    file-author    pathname-name    with-output-to-string
  343. syn keyword lispFunc    file-error    pathname-type    with-package-iterator
  344. syn keyword lispFunc    file-error-pathname    pathname-version    with-simple-restart
  345. syn keyword lispFunc    file-length    pathnamep    with-slots
  346. syn keyword lispFunc    file-namestring    peek-char    with-standard-io-syntax
  347. syn keyword lispFunc    file-position    phase    write
  348. syn keyword lispFunc    file-stream    pi    write-byte
  349. syn keyword lispFunc    file-string-length    plusp    write-char
  350. syn keyword lispFunc    file-write-date    pop    write-line
  351. syn keyword lispFunc    fill    position    write-sequence
  352. syn keyword lispFunc    fill-pointer    position-if    write-string
  353. syn keyword lispFunc    find    position-if-not    write-to-string
  354. syn keyword lispFunc    find-all-symbols    pprint    y-or-n-p
  355. syn keyword lispFunc    find-class    pprint-dispatch    yes-or-no-p
  356. syn keyword lispFunc    find-if    pprint-exit-if-list-exhausted    zerop
  357. syn keyword lispFunc    find-if-not    pprint-fill
  358.  
  359. syn match   lispFunc    "\<c[ad]\+r\>"
  360.  
  361.  
  362. " Lisp Keywords (modifiers)
  363. syn keyword lispKey    :abort    :from-end    :overwrite
  364. syn keyword lispKey    :adjustable    :gensym    :predicate
  365. syn keyword lispKey    :append    :host    :preserve-whitespace
  366. syn keyword lispKey    :array    :if-does-not-exist    :pretty
  367. syn keyword lispKey    :base    :if-exists    :print
  368. syn keyword lispKey    :case    :include    :print-function
  369. syn keyword lispKey    :circle    :index    :probe
  370. syn keyword lispKey    :conc-name    :inherited    :radix
  371. syn keyword lispKey    :constructor    :initial-contents    :read-only
  372. syn keyword lispKey    :copier    :initial-element    :rehash-size
  373. syn keyword lispKey    :count    :initial-offset    :rehash-threshold
  374. syn keyword lispKey    :create    :initial-value    :rename
  375. syn keyword lispKey    :default    :input    :rename-and-delete
  376. syn keyword lispKey    :defaults    :internal    :size
  377. syn keyword lispKey    :device    :io    :start
  378. syn keyword lispKey    :direction    :junk-allowed    :start1
  379. syn keyword lispKey    :directory    :key    :start2
  380. syn keyword lispKey    :displaced-index-offset    :length    :stream
  381. syn keyword lispKey    :displaced-to    :level    :supersede
  382. syn keyword lispKey    :element-type    :name    :test
  383. syn keyword lispKey    :end    :named    :test-not
  384. syn keyword lispKey    :end1    :new-version    :type
  385. syn keyword lispKey    :end2    :nicknames    :use
  386. syn keyword lispKey    :error    :output    :verbose
  387. syn keyword lispKey    :escape    :output-file    :version
  388. syn keyword lispKey    :external
  389.  
  390. " Standard Lisp Variables
  391. syn keyword lispVar    *applyhook*    *load-pathname*    *print-pprint-dispatch*
  392. syn keyword lispVar    *break-on-signals*    *load-print*    *print-pprint-dispatch*
  393. syn keyword lispVar    *break-on-signals*    *load-truename*    *print-pretty*
  394. syn keyword lispVar    *break-on-warnings*    *load-verbose*    *print-radix*
  395. syn keyword lispVar    *compile-file-pathname*    *macroexpand-hook*    *print-readably*
  396. syn keyword lispVar    *compile-file-pathname*    *modules*    *print-right-margin*
  397. syn keyword lispVar    *compile-file-truename*    *package*    *print-right-margin*
  398. syn keyword lispVar    *compile-file-truename*    *print-array*    *query-io*
  399. syn keyword lispVar    *compile-print*    *print-base*    *random-state*
  400. syn keyword lispVar    *compile-verbose*    *print-case*    *read-base*
  401. syn keyword lispVar    *compile-verbose*    *print-circle*    *read-default-float-format*
  402. syn keyword lispVar    *debug-io*    *print-escape*    *read-eval*
  403. syn keyword lispVar    *debugger-hook*    *print-gensym*    *read-suppress*
  404. syn keyword lispVar    *default-pathname-defaults*    *print-length*    *readtable*
  405. syn keyword lispVar    *error-output*    *print-level*    *standard-input*
  406. syn keyword lispVar    *evalhook*    *print-lines*    *standard-output*
  407. syn keyword lispVar    *features*    *print-miser-width*    *terminal-io*
  408. syn keyword lispVar    *gensym-counter*    *print-miser-width*    *trace-output*
  409.  
  410. " Strings
  411. syn region    lispString    start=+"+    skip=+\\\\\|\\"+ end=+"+
  412.  
  413. " Shared with Xlisp, Declarations, Macros, Functions
  414. syn keyword lispDecl    defmacro    do-all-symbols    labels
  415. syn keyword lispDecl    defsetf    do-external-symbols    let
  416. syn keyword lispDecl    deftype    do-symbols    locally
  417. syn keyword lispDecl    defun    dotimes    macrolet
  418. syn keyword lispDecl    do*    flet    multiple-value-bind
  419.  
  420. " Numbers: supporting integers and floating point numbers
  421. syn match lispNumber    "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\="
  422.  
  423. syn match lispSpecial    "\*[a-zA-Z_][a-zA-Z_0-9-]*\*"
  424. syn match lispSpecial    !#|[^()'`,"; \t]\+|#!
  425. syn match lispSpecial    !#x[0-9a-fA-F]\+!
  426. syn match lispSpecial    !#o[0-7]\+!
  427. syn match lispSpecial    !#b[01]\+!
  428. syn match lispSpecial    !#\\[ -\~]!
  429. syn match lispSpecial    !#[':][^()'`,"; \t]\+!
  430. syn match lispSpecial    !#([^()'`,"; \t]\+)!
  431.  
  432. syn match lispConcat    "\s\.\s"
  433. syn match lispParenError    ")"
  434.  
  435. " Comments
  436. syn cluster lispCommentGroup    contains=lispTodo
  437. syn match lispComment    ";.*$"    contains=@lispCommentGroup
  438. syn case ignore
  439. syn keyword lispTodo    contained    combak    combak:    todo    todo:
  440. syn case match
  441.  
  442. " synchronization
  443. syn sync lines=100
  444.  
  445. " Define the default highlighting.
  446. " For version 5.7 and earlier: only when not done already
  447. " For version 5.8 and later: only when an item doesn't have highlighting yet
  448. if version >= 508 || !exists("did_lisp_syntax_inits")
  449.   if version < 508
  450.     let did_lisp_syntax_inits = 1
  451.     command -nargs=+ HiLink hi link <args>
  452.   else
  453.     command -nargs=+ HiLink hi def link <args>
  454.   endif
  455.  
  456.   HiLink lispAtomNmbr    lispNumber
  457.   HiLink lispAtomMark    lispMark
  458.  
  459.   HiLink lispAtom    Identifier
  460.   HiLink lispAtomBarSymbol    Special
  461.   HiLink lispBarSymbol    Special
  462.   HiLink lispComment    Comment
  463.   HiLink lispConcat    Statement
  464.   HiLink lispDecl    Statement
  465.   HiLink lispFunc    Statement
  466.   HiLink lispKey    Type
  467.   HiLink lispMark    Delimiter
  468.   HiLink lispNumber    Number
  469.   HiLink lispParenError    Error
  470.   HiLink lispSpecial    Type
  471.   HiLink lispString    String
  472.   HiLink lispTodo    Todo
  473.   HiLink lispVar    Statement
  474.  
  475.   delcommand HiLink
  476. endif
  477.  
  478. let b:current_syntax = "lisp"
  479.  
  480. " vim: ts=33 nowrap
  481.